diff --git a/system/language/english/pagination_lang.php b/system/language/english/pagination_lang.php
new file mode 100644
index 0000000..ffee2d9
--- /dev/null
+++ b/system/language/english/pagination_lang.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 5.2.4 or newer
+ *
+ * NOTICE OF LICENSE
+ *
+ * Licensed under the Open Software License version 3.0
+ *
+ * This source file is subject to the Open Software License (OSL 3.0) that is
+ * bundled with this package in the files license.txt / license.rst.  It is
+ * also available through the world wide web at this URL:
+ * http://opensource.org/licenses/OSL-3.0
+ * If you did not receive a copy of the license and are unable to obtain it
+ * through the world wide web, please send an email to
+ * licensing@ellislab.com so we can send you a copy immediately.
+ *
+ * @package		CodeIgniter
+ * @author		EllisLab Dev Team
+ * @copyright	Copyright (c) 2008 - 2014, EllisLab, Inc. (http://ellislab.com/)
+ * @license		http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
+ * @link		http://codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+defined('BASEPATH') OR exit('No direct script access allowed');
+
+$lang['pagination_first_link']	= '&lsaquo; First';
+$lang['pagination_next_link']	= '&gt;';
+$lang['pagination_prev_link']	= '&lt;';
+$lang['pagination_last_link']	= 'Last &rsaquo;';
+
+/* End of file pagination_lang.php */
+/* Location: ./system/language/english/pagination_lang.php */
\ No newline at end of file
